Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.03.2012, 16:47
Новичок на форуме
Отправить личное сообщение для dmitro Посмотреть профиль Найти все сообщения от dmitro
 
Регистрация: 14.03.2012
Сообщений: 4

вставка переменной в функцию аяксом
видел много схожих тем, но конкретно похожего на мою задачу нет. на странице есть функция. в неe без перезагрузки нужно писать переменную.
к примеру вот такой штукой можно писать контент в любой хтмл элемент на странице. подскажите реально ли таким образом вставить переменную в функцию js
$.ajax({
type: "POST",
url: "ajax.php",
dataType: "json",
success: function(data)
{
$("#example").text(data.content);
}
})
Ответить с цитированием
  #2 (permalink)  
Старый 14.03.2012, 17:13
Профессор
Отправить личное сообщение для tadjik1 Посмотреть профиль Найти все сообщения от tadjik1
 
Регистрация: 07.06.2011
Сообщений: 315

напишите лучше что вам нужно получить
Ответить с цитированием
  #3 (permalink)  
Старый 14.03.2012, 17:14
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

конкретизируйте:
вставить имя переменной, или значение?
__________________
С моих слов записано верно.
Ответить с цитированием
  #4 (permalink)  
Старый 14.03.2012, 19:00
Новичок на форуме
Отправить личное сообщение для dmitro Посмотреть профиль Найти все сообщения от dmitro
 
Регистрация: 14.03.2012
Сообщений: 4

значение переменной или может быть код в конкретную функцию. getScript как не крутил вроде не подходит. хотя бы пинните в какую сторону смотреть - буду благодарен

Последний раз редактировалось dmitro, 14.03.2012 в 20:01.
Ответить с цитированием
  #5 (permalink)  
Старый 14.03.2012, 20:37
Профессор
Отправить личное сообщение для tadjik1 Посмотреть профиль Найти все сообщения от tadjik1
 
Регистрация: 07.06.2011
Сообщений: 315

в общем почитайте про переменные функции.
когда вызываете функцию добавьте в скобки необходимые переменные:

var i = 1;
function showVar(val){
  alert(val);
}

showVar(i);


нет никаких проблем передавать точно также другую функцию:
function f(a){ return a; }
function showVar(val){ alert(val); }
showVar(f);

Последний раз редактировалось tadjik1, 14.03.2012 в 20:43.
Ответить с цитированием
  #6 (permalink)  
Старый 14.03.2012, 20:54
Новичок на форуме
Отправить личное сообщение для dmitro Посмотреть профиль Найти все сообщения от dmitro
 
Регистрация: 14.03.2012
Сообщений: 4

Сообщение от tadjik1 Посмотреть сообщение
в общем почитайте про переменные функции.
когда вызываете функцию добавьте в скобки необходимые переменные:

var i = 1;
function showVar(val){
  alert(val);
}

showVar(i);


нет никаких проблем передавать точно также другую функцию:
function f(a){ return a; }
function showVar(val){ alert(val); }
showVar(f);

наверное не совсем то. сорри, за джаву сел пару недель назад сам еще до конца не разобрался - поэтому объяснения путаные до этого всю жисть пхп. я тогда поподробнее. в общем это webgl там есть функция инициализации. по мере необходимости в нее аяксом из бд подсасываем новые элементы элемент примерно выглядит так:

texture1 = THREE.ImageUtils.loadTexture( '../crate.jpg' );
material = new THREE.MeshPhongMaterial( { map:texture1, ambient: 0x555555, color: 0x555555, specular: 0xffffff, shininess: 50, shading: THREE.SmoothShading } );
cube2 = new THREE.Mesh( new THREE.CubeGeometry( 20, 20, 20 ), material );
cube2.position.x = 60;
cube2.rotation.x = 30 * ( Math.PI / 180 );
cube2.rotation.z = 30 * ( Math.PI / 180 );
cube2.overdraw = true;
group.add( cube2 );

вот собственно подобный код и надо вставлять. если его текстом выводить в любую размеченную хтмл область то нет проблем, а в функцию никак
Ответить с цитированием
  #7 (permalink)  
Старый 14.03.2012, 21:57
Профессор
Отправить личное сообщение для tadjik1 Посмотреть профиль Найти все сообщения от tadjik1
 
Регистрация: 07.06.2011
Сообщений: 315

к сожалению, совсем не знаком с особенности webgl, и даже не представляю о чем речь

но может быть вот так?

var str = "texture1 = THREE.ImageUtils.loadTexture( '../crate.jpg' );\
material = new THREE.MeshPhongMaterial( { map:texture1, ambient: 0x555555, color: 0x555555, specular: 0xffffff, shininess: 50, shading: THREE.SmoothShading } );\
cube2 = new THREE.Mesh( new THREE.CubeGeometry( 20, 20, 20 ), material );\
cube2.position.x = 60;\
cube2.rotation.x = 30 * ( Math.PI / 180 );\
cube2.rotation.z = 30 * ( Math.PI / 180 );\
cube2.overdraw = true;\
group.add( cube2 );";

function showStr(str){
  alert(str);
}

showStr(str);
Ответить с цитированием
  #8 (permalink)  
Старый 14.03.2012, 23:47
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

var fn = new Function("str", "alert(str)");
fn("Hello world!")
Ответить с цитированием
  #9 (permalink)  
Старый 15.03.2012, 07:35
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

по-моему, тут очевидно всё, никаких строк не надо..

отдавайте из php нужный вам код/переменные и т.д..

а при получении:
...
success: function(data)
 {
 eval(data);
 }


ваши переменные/кусок кода/все, что хотите, тут же становятся доступны.

если нужно в контексте какого-нибудь объекта их выполнить: у eval() есть второй необязательный параметр — как раз-таки объект.

второй вариант:

возвращайте из php всё уже готовой функцией:
function blah-blah(){
ваши переменные;
действия;
всё, что хотите;
}


и также скармливайте пришеднее eval();
...
success: function(data)
 {
 eval(data);
 }

и уже где вам нужно их использовать, вызывайте функцией:
...
blah-blah();
...
__________________
С моих слов записано верно.
Ответить с цитированием
  #10 (permalink)  
Старый 15.03.2012, 10:40
Новичок на форуме
Отправить личное сообщение для dmitro Посмотреть профиль Найти все сообщения от dmitro
 
Регистрация: 14.03.2012
Сообщений: 4

Сообщение от T-sh Посмотреть сообщение
по-моему, тут очевидно всё, никаких строк не надо..

отдавайте из php нужный вам код/переменные и т.д..

а при получении:
...
success: function(data)
 {
 eval(data);
 }


ваши переменные/кусок кода/все, что хотите, тут же становятся доступны.

если нужно в контексте какого-нибудь объекта их выполнить: у eval() есть второй необязательный параметр — как раз-таки объект.

второй вариант:

возвращайте из php всё уже готовой функцией:
function blah-blah(){
ваши переменные;
действия;
всё, что хотите;
}


и также скармливайте пришеднее eval();
...
success: function(data)
 {
 eval(data);
 }

и уже где вам нужно их использовать, вызывайте функцией:
...
blah-blah();
...
ага. спасибо оба варианта работают
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка переменной в фильтр nikolayseo Общие вопросы Javascript 5 04.02.2012 20:53
как реализовать свою функцию к переменной czp Общие вопросы Javascript 2 01.01.2012 19:52
передача переменной в функцию timeout alfmaster Javascript под браузер 5 20.09.2011 18:40
Вставка переменной в animate() Freakmeister jQuery 1 06.04.2011 21:45
Передача переменной в функцию для теста со случайным выводом вопросов rockdancer Общие вопросы Javascript 1 06.02.2010 23:13